\chapter{数据面板}

数据树面板包含所有的工作站任务数据。

\section{任务坐标架}
任务坐标系的坐标架显示在数据面板里。用户创建的坐标架显示在布局面板里。

\subsection{设置位姿}
设置任务坐标系的位姿。

\subsubsection{位置和方向}
设置任务坐标系的位置和方向。

当位置输入框激活时，可以用鼠标在3D视图中摄取几何特征点。

\subsubsection{跟随任务坐标系移动机器人}
选中后，机器人的位姿会跟随任务坐标系进行相应的移动。

\subsubsection{跟随任务坐标系移动数据对象}
选中后，机器人任务在工作站中的数据对象（工件数据，目标点）会跟随任务坐标系进行相应的移动。

\subsection{可见}
设置坐标框架在3D视图中可见或非可见。

\subsection{重命名}
对任务坐标框架重新命名。

\section{工作站任务}
工作站任务节点对应于一个控制器里的任务。下面包含了各种任务数据。

\subsection{设置为活跃的}
将工作站任务设置为活跃任务。活跃任务里的活跃数据项会自动变成当前活跃的数据项。

\section{工具数据}
工具数据节点下面列出属于一个工作站任务的所有工具数据。

\subsection{设置为活跃的}
将工具数据设置为活跃工具数据。活跃工具数据会用于示教目标点，示教运动指令等。

\subsection{编辑工具数据}
编辑工具数据面板与创建工具数据面板相同，参见首页工具栏一章。

\subsection{删除}
如果一个工具数据没有被任何运动指令使用，则可以删除这个工具数据。

\subsection{位姿}
可以像为其他对象设置位姿一样为工具数据设置位姿。设置的数据会相对于工具数据所属的任务的tool0（即机器
人法兰盘）位姿进行计算。工具数据对应的坐标架会显示在3D视图中设置的位置上。

\section{关节目标点}

\subsection{跳转到关节目标点}
让机器人各轴跳转到关节目标点中保存的位置。

\subsection{修改关节目标点}
修改关节目标点的名称和关节位置。

\subsection{添加到路径}
以关节目标点为目标，状态栏上的指令模板为其他参数，向选择的路径中添加一条MoveAbsJ指令。

指令添加的位置可选：
\begin{itemize}
    \item 第一个：新建的指令作为路径的第一条指令
    \item 最后一个：新建的指令作为路径的最后一条指令
    \item 已有指令：新建的指令添加到已有指令的后面。
\end{itemize}

\subsection{添加到新路径}
以关节目标点为目标，状态栏上的指令模板为其他参数，新建一个路径，添加一条MoveAbsJ指令。

\subsection{可见}
设置关节目标点在3D视图中是否显示。

\subsection{删除}
删除关节目标点。

\section{工件数据}

\subsection{设置为活跃的}
将工件数据设置为任务中的活跃工件数据。活跃工件数据被自动用于示教目标点。

\subsection{创建目标点}
创建目标点面板与主页工具栏上的创建目标点面板相同。

\subsection{粘贴目标点}
当点击了目标点右键菜单里的“复制”之后，可以将其粘贴到一个工件数据里。

目标点的世界坐标系里的位置不变，它的数据将相对于新的工件数据重新计算。

\subsection{修改工件数据}
修改工件数据面板与创建工具数据面板功能相同。但不能修改工件数据所属的任务。

\subsection{位姿}
使用位姿菜单修改工件数据的用户坐标系。

\subsection{删除}
删除不包含目标点的工件数据。

\subsection{重命名}
对工件数据重新命名。


\section{目标点}
目标点属于某一个工件数据。从而目标点的位姿是相对于它所属的工件数据定义的。

示教目标点时，采用机械臂当前构型作为目标点的构型配置。当单独创建目标点时，目标点的构型配置采用默认
值，有可能是不可达的配置，需要在配置面板中选择可达配置，或应用路径自动配置功能。

当修改了目标点的位姿或构型配置之后，会自动更新目标点关联指令的可达性。

\subsection{在目标点处查看机器人}
将机器人跳转到目标点，使用所属任务的活跃工具数据。同时会激活“在目标点处查看机器人”状态，之后
选中其他的目标点会将机器人跳转到目标点。跳转方式见“跳转到目标点”功能。

在3D视图的顶端可关闭“在目标点处查看机器人”状态。

\subsection{在目标点处查看工具}
在目标点处显示选中工具的副本，以查看工具在目标点处的实际位姿。同时会激活“在目标点处查看工具”状态，之后
选中其他的目标点会将该工具的副本移动到新选中的目标点处。

在3D视图的顶端可关闭“在目标点处查看工具”状态。

\subsection{复制到工件数据}
将目标点复制到一个工件数据下面，可以是与目标点当前工件数据相同的工件数据，也可以是不同的工件数据。

复制出来的目标点的世界坐标系中的位姿与原目标点的相同。

\subsection{移动到工件数据}

将目标点移动到另一个工件数据下面。

系统会询问“是否要移动目标点的位置”。若选择“否”，则目标点保持在世界坐标系中的位姿不变，但自身的位姿数
据会相对于新的工件数据重新计算。若选择“是”，则目标点保持在工件数据中的位置不变，即保持自身位姿数据不
变，但在世界坐标系中的位姿可能会发生变化。

\subsection{复制}
将目标点复制到剪贴板中。在工件数据的右键菜单中选择“粘贴”可将剪贴板中的目标点复制到该工件数据中。

\subsection{位姿}
使用位姿菜单设置目标点的位姿。位姿菜单的使用说明见布局面板一章。

\subsection{修改外轴}
修该目标点携带的外轴值。

\subsubsection{当前关节值}
表示当前设备姿态下的关节值，修改该值会修改设备的姿态。

\subsubsection{外轴}
初始化时设置为目标点携带的外轴值。若值为9e9，则表示当前外轴值无效。

\subsubsection{→}
点击此按钮，将当前关节值设置为外轴值。

\subsubsection{←}
点击此按钮，把外轴值设置为当前关节值，并修改设备的姿态。若外轴值超出设备关节的允许范围，则不会更改当
前关节值，保持设备姿态不变。

\subsubsection{清除}
点击此按钮，把对应的外轴值设置为无效（9e9），表示不使用该外轴值。

\subsubsection{应用}
点击应用按钮，把当前设置的外轴值应用于目标点。

\subsection{配置}
为目标点设置配置数据。对于一个目标点, 机器人可以以不同的构型（关节值）到达该目标点所描述的末端位姿。
此菜单设置机器人应该以什么样的构型达到该目标点。

配置数据的详细说明参见Manipula数据类型手册confdata条目。

系统在计算机器人末端可能到达目标点的构型时，使用目标点所属任务的活跃工具数据作为TCP。
所以，当机器人安装不同的工具时，同一个目标点的候选构型会是不同的。

如果目标点当前配置数据是机器人不可达的，则会在配置数据前显示警示符号。

当选择可达配置数据并应用之后，之前的不可达配置数据消失。如果当前机器人没有可达配置，表示目标点为机器
人不可达。

\subsubsection{包含转数}
机器人的1,4,6轴会包含相差360度的解。选择“包含转数”会列出1,4,6轴相差360度的机器人构型。

\subsection{对齐目标点方向}
将目标点的方向与选定的对象对齐。

\subsubsection{参考}
激活之后，在左面板中选择要对齐的对象。

可选择的对齐对象包括：目标点，工具数据，坐标架。

\subsubsection{对准轴}
选择要把哪个坐标轴与参考对象对齐。

选定了要对齐的坐标轴之后，系统会选择最短的方式将目标点旋转到要对齐的物体的方向上，使得双方的指定的那
个坐标轴对齐。其他的坐标轴方向不确定。

\subsubsection{锁定轴}
选择在对齐过程中要锁定的坐标轴。

在旋转过程中锁定的坐标轴不会改变方向。但此时要对齐的坐标轴不一定能够旋转到参照物体坐标轴的方向。

\subsection{跳转到目标点}

当活跃工件数据为固定数据，活跃工具数据被机器人持有时，会让机器人的TCP跳转到目标点处。

当活跃工件数据被机器人持有，活跃工具数据为固定数据时，会让机器人带动目标点跳转到TCP。

如果活跃工件数据和活跃工具数据有相同的机器人持有状态，会在下方的事件面板报错提示。

如果目标点的配置是机器人无法到达的，会在下方的事件面板显示RobotConfigurationUnreachable错误。

\subsection{添加到路径}
以目标点为目标，状态栏上的指令模板为其他参数，向选择的路径中添加一条MoveL或MoveJ指令。

指令添加的位置可选：
\begin{itemize}
    \item 第一个：新建的指令作为路径的第一条指令
    \item 最后一个：新建的指令作为路径的最后一条指令
    \item 已有指令：新建的指令添加到已有指令的后面。
\end{itemize}

\subsection{添加到新路径}
以目标点为目标，状态栏上的指令模板为其他参数，新建一个路径，添加一条MoveL或MoveJ指令。

\subsection{可见}
设置目标点在3D视图中是否显示。

\subsection{删除}
删除目标点。

\subsection{重命名}
对目标点重命名。

\section{路径}
\subsection{设置为活跃的}
将路径设置为任务中的活跃路径。

只有当任务为活跃任务时才可以设置路径为活跃路径。

\subsection{自动配置}
对路径中指令目标点进行自动配置，使后续目标点配置的cfx字段与第一个指令目标点配置的cfx一致。

当第一条指令目标点配置不可达时，不进行自动配置。

后续指令目标点如果没有cfx一致的可达配置，则不修改该目标点配置。如果有cfx一致的配置，则将该目标点配置
修改为cfx一致的配置。

\subsection{沿路径运动}
让机器人执行路径中的运动指令。相当于对单条路径进行一次仿真，所以仿真面板中的状态会变化。

如果运动中未发生错误，则仿真面板中的状态自动复原。

如果运动中发生了错误，则需要切换到仿真工具栏中，点击“重置”按钮，对仿真中的错误状态进行重置。如果不重
置仿真状态，无法再次进行沿路径运动功能。

\subsection{删除}
删除路径。

\subsection{可见}
设置路径是否在3D视图中可见。

\subsection{重命名}
对路径进行重命名。


\section{指令}

\subsection{在目标点处查看机器人}
将机器人的TCP移动到指令的目标点处，使用的工具数据是指令参数中的工具数据。同时会激活“在目标点处查看机
器人”状态。在3D视图的顶端可关闭“在目标点处查看机器人”状态。

\subsection{在目标点处查看工具}
将选中的工具显示在指令的目标点处。

\subsection{修改位置}
将指令目标点的位姿设置为机器人当前的TCP位姿。

仅当指令所属任务的活跃工件数据和活跃工具数据与指令的工件数据和工具数据一致时，才能应用本菜单项。

如果指令是movec，只修改topoint参数，不会修改cirpoint参数。

\subsection{定位目标点}
在数据面板中选中指令的目标点。

\subsection{修改指令}
打开指令编辑面板。

\subsubsection{运动类型}
修改指令的运动类型。

movel指令默认为Linear，可选择Linear或Joint，选择Joint时会将movel转变为movej。

movej指令默认为Joint，可选择Linear或Joint，选择Linear时会将movej转变为movel。

movec指令默认为Circular，可选择Linear、Joint和Circular，选择Linear时将movec分成
两个movel，选择Joint时将movec分成两个movej。

\subsubsection{指令参数}
设置指令参数。指令参数的详细信息请参考指令手册和数据类型手册。

\subsection{定位目标点}
在数据面板中选中指令的目标点。

\subsection{可见}
设置指令对应的路线在3D视图中是否可见。

\subsection{删除}
删除指令。

\subsection{Convert to Move Circular}
将两个movel指令合并成一个movec指令。

需要选择两个相邻的movel指令，圆弧点为选择的第一条movel指令的目标点，终点为选择的第二条movel指令的目
标点。

当有下列情况的时候，无法转化。

\begin{itemize}
    \item 选中的两条指令的工具数据参数不相同
    \item 选中的两条指令的目标点参数不属于同一个工件数据
\end{itemize}   

\subsection{反转路径}

对选取的指令进行反向排序。生成的路径运动方式为原路径的反向运动。

需要选择连续的指令。
